﻿using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace SmartWMS.Server.BusinessServer.SalesReturns.Dto
{
    public class PaymentDto
    {
        //退货单号
        public string? SalesReturnCode { get; set; }

        public int? Id { get; set; }

        /// <summary>
        /// 流水号
        /// </summary>
        [MaxLength(50)]
        public string? SerialNumber { get; set; }

        /// <summary>
        /// 名称
        /// </summary>
        [MaxLength(50)]
        public string? Name { get; set; }

        /// <summary>
        /// 财务类别ID
        /// </summary>
        public int? TypeId { get; set; }

        /// <summary>
        /// 收款方
        /// </summary>
        [MaxLength(50)]
        public string? Payee { get; set; }

        /// <summary>
        /// 应付金额
        /// </summary>
        public decimal? Payable { get; set; }

        /// <summary>
        /// 实收金额
        /// </summary>
        public decimal? NetReceipts { get; set; }

        /// <summary>
        /// 剩余金额
        /// </summary>
        public decimal? Residue { get; set; }

        /// <summary>
        /// 付款机构
        /// </summary>
        [MaxLength(50)]
        public string? PayInstitution { get; set; }

        /// <summary>
        /// 付款日期
        /// </summary>
        public DateTime? LastPaymentDate { get; set; } = DateTime.Now;

        /// <summary>
        /// 审核状态
        /// </summary>
        public int? State { get; set; }

        /// <summary>
        /// 审核人
        /// </summary>
        [MaxLength(20)]
        public string? Reviewer { get; set; }

        /// <summary>
        /// 审核意见
        /// </summary>
        [MaxLength(100)]
        public string? Opinion { get; set; }

        /// <summary>
        /// 审核时间
        /// </summary>
        public DateTime? Audittime { get; set; } = DateTime.Now;

        /// <summary>
        /// 备注
        /// </summary>
        [MaxLength(200)]
        public string? Remarks { get; set; }

        /// <summary>
        /// 创建时间
        /// </summary>
        public DateTime? CreateTime { get; set; } = DateTime.Now;
    }
}
